iT邦幫忙

2024 iThome 鐵人賽

DAY 14
1

上篇介紹了 CI/CD 的定義及其價值,這篇將介紹 Migo 在 dbt 上設計的 CI/CD 流程。

Migo 作為乙方公司,處理多家客戶資料,不同客戶可能同時進行 models 開發。因此,CI/CD 階段需要快速執行、確保各個 PR 間不互相影響,最重要的是確保資料的正確性。

CI 流程

在 CI 階段,我們希望將異動的 models 執行結果存入測試環境,以確認 models 能夠順利執行。執行後,還需要驗證資料是否有問題。

以上需求可分為三個 CI 階段:

  1. 識別被改動的 models
  2. 在執行 models 前進行 dry-run
  3. 在測試環境中僅執行異動的 models 及其下游
  4. 檢查改動前後資料是否有差異

CD 流程

在 CD 階段,我們希望在正式環境中執行異動的 model,產生 dbt 文件並上傳至指定位置,最後重新建立 dbt 映像檔。

CD 可分為以下四個階段:

  1. 識別被改動的 models
  2. 在執行 models 前進行 dry-run
  3. 在正式環境中僅執行異動的 models 及其下游
  4. 建立 dbt 文件,並上傳至指定位置
  5. 建立 dbt 映像檔

以上 CI/CD 總共有 7 個階段。我們團隊會運用 dbt CLI 指令、dbt 相關套件以及自行開發的工具來滿足每個階段的需求。未來的文章將會逐一介紹如何實作這些功能。


上一篇
什麼是 CI/CD ? 為何需要 CI/CD ?
下一篇
dbt target
系列文
dbt 修煉之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言